#include<iostream>
#include<functional>
using namespace std;

class CTest
{
public:
	CTest(void) : value(1023){cout<< "Constructor.\n";}
	~CTest(void)
	{
		cout<< "Destructor, my value is: " << value << "\n";
	}
	CTest(const CTest& r)
	{
		cout<< "Copy Constructor\n";
		value = r.value;
	}
	CTest(CTest&& rr)
	{
		cout<< "Move Constructor\n";
		value = rr.value;
		rr.value = 0;
	}
private:
	int value;
};


void TestFun(CTest t)
{
}

int main(void)
{
	CTest t1;
	CTest t2;

	TestFun(t1);			//Copy Constructor, t1 -> t
	TestFun(move(t2));		//Move Constructor, t2 -> t
	
	return 0;
}
